In microprocessor-based devices, such as stationary desktop computers, laptop computers, personal digital assistants, and/or portable cell phones, a basic input output system (BIOS) is located in memory on the main logic board.
The system BIOS software typically performs a variety of roles in the start-up sequence of a microprocessor-based device and associated hardware, which eventually includes the loading of an operating system for the device. Before the operating system is loaded, the system BIOS manages the start-up of other devices and sub-systems, typically comprising power on self-testing for all of the different hardware components in the system, activating secondary BIOS software located on different installed cards, providing low-level routines that a loaded operating system uses to interface to different hardware devices, such as for keyboards, displays, serial and/or parallel ports, and managing other controllable system parameters.
When a microprocessor-based device is powered on, the system BIOS software, which is typically located on the system logic board for a computer, is activated. During the initial boot-up sequence, the BIOS checks the CMOS Setup, loads interrupt handlers, and then typically determines the operational status of other devices, such as the status of installed cards. Some installed cards have dedicated on-board BIOS software, which initializes on-board memory and microprocessors. For cards which do not have an on-board BIOS software, there is usually card driver information on another ROM on the motherboard, which the main system BIOS loads to perform the boot-up of the attached card.
The system BIOS then checks to see if the computer activation is a cold boot or a reboot, which are often differentiated by the value of a memory address. If the activation is a cold boot, the BIOS verifies the random access memory (RAM), by performing a read/write test of each memory address. The BIOS also checks the ports for external input/output devices, such as for a connected keyboard and for a mouse. The system BIOS then looks outwardly, towards peripheral busses, and to other connected devices.
The system BIOS then attempts to initiate the boot sequence from the first device of one or more bootable devices, which are often arranged in a sequential order. If the system BIOS does not find the first of one or more sequential devices, the BIOS then attempts to find the next device in the sequential order.
If the BIOS does not find the proper files on at least one appropriate bootable device, the startup process halts. If the system BIOS finds the appropriate files on an appropriate bootable device, the system BIOS continues the boot-up operation, thereby loading activating the operating system for the microprocessor-based device.
While some of the system parameter settings which the system BIOS uses during the boot-up sequence can be established or modified by a user, such changes are made after the operating system is presented to a user. For example, on a Macintosh™ computer operating system, by Apple Computer, Inc., of Cupertino, Calif., a user can define one or more system parameters, through control panels, or through enabling or disabling system extensions. While such system changes can be defined by a user, the defined changes are not made until the device is restarted, such that the system BIOS can re-boot the device, and reload the operating system, as defined by the user.
For devices which allow changes to the system BIOS at all, an updating process is required, wherein a user and/or system manager typically installs an updating program. The updating program typically erases the entire system BIOS, and installs the updated system BIOS.
While modifications to a system BIOS are possible for some computer systems, it would be advantageous to provide a modularized BIOS enhancement system, in which external information is accessed before the system BIOS process is completed.
As well, while both hardware and/or software has been used to provide security and authentication systems for microprocessor-based devices, it would be advantageous to provide an authentication system which allows authorized access, while preventing system boot-up to unauthorized users. Such a system would be a major technological breakthrough.
Some microprocessor-based devices, such as desktop computers, use smart cards and associated hardware, as a means to authenticate a user with the device. For example, for a desktop computer having conventional Smart Card Authentication, the desktop computer typically has an attached Smart Card reader. User access to the computer is allowed, if an authorized Smart Card is inserted into the Smart Card reader. While the desktop computer provides authorized access, the computer is required to be booted, i.e. the BIOS process has been completed and the operating system has been loaded, at the time the user is prompted to enter a Smart Card.
In a Windows™ CE based Aero 8000 personal digital assistant (PDA), by Compaq Computer, Inc., an authentication system is provided which does not provide a universal interface with BIOS security authentication. The Aero 8000 PDA system is a “closed-box” embedded system, which includes non-standard firmware code to access a non-PC/SC smart card for BIOS security authentication.
Other microprocessor-based devices, such as portable cell phones, use smart cards and associated hardware, as a means to authenticate a user with the device. Many portable cell phones include a small smart card, which is located internally to the phone, that associates the phone with the host company, as well as with the contracted user. Alternate portable cell phones, such as a V. Series™ V3682 phone, by Motorola, Inc., provide external access for a removable smart SIM card which is associated with a contracted user, such that a portable cell phone may be used for more than one user or account, and such that a user may use other similarly equipped portable cell phones for communications which are associated with the inserted smart card. While such portable cell phones associate smart cards with users and host companies, the operating BIOS processes for such devices phones are unaffected by the smart cards.
Password protection software has also been used to provide security for desktop and portable computing devices. For example, FolderBolt-Pro™, by Kent•Marsh Ltd., of Houston, Tex., provides software based security and encryption for files, applications, and/or folders, whereby the user can select varying levels of protection, such as with passwords, before access to the protected file or folder is given. While security software provides some level of protection to a device, such security software operates within a loaded operating system, i.e. the protection software does not authorize or prevent the system BIOS boot up process from being performed.
The disclosed prior art systems and methodologies thus provide basic authentication systems, such as through the use of a smart card, or other memory media storage device, e.g. such as a Memory Stick™, by Sony Electric Company, Inc., to identify a user, once a device has been booted-up. However, the system BIOS for such devices is unaffected, such that the operating system is already loaded, at the time the user is prompted to provide authentication.
It would therefore be advantageous to provide a BIOS-based authentication security enhancement structure and process, whereby the BIOS process is diverted by the security authentication system, such that the system BIOS process is inherently enhanced or halted, based upon the results of the pre-boot system. It would also be advantageous that such a BIOS-based information system be integrated with information contained within removable modules or cards. The development of such a BIOS-based enhancement system would constitute a major technological advance. The development of such a BIOS-based system for authentication would constitute a further technological advance.